<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Pin: SEC: Section Object</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Pin
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">SEC: Section Object<div class="ingroups"><a class="el" href="group__API__REF.html">Instrumentation API Reference</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e">SEC_TYPE</a> { <br />
&#160;&#160;<b>SEC_TYPE_INVALID</b>, 
<br />
&#160;&#160;<b>SEC_TYPE_UNUSED</b>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eac7b401ad28292a5bf7728af5c827d78d">SEC_TYPE_REGREL</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea47a996e48703561a7c9a5d6eb0b7ec20">SEC_TYPE_DYNREL</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae553adef7efca3121cb283c919b2eab3">SEC_TYPE_EXEC</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae7cac3976003e7709bf90c1e5e8a250e">SEC_TYPE_DATA</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eabcae1ce13af94497e106ef7978f57163">SEC_TYPE_DYNAMIC</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eab68fd502b63888dd7b8668a0f6609405">SEC_TYPE_OPD</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea58ee2e8fec4ecbe67bbafe334f5c389b">SEC_TYPE_GOT</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eaf1970987650dc6078cf78cc41057c9f5">SEC_TYPE_STACK</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea5f15f77c471eb84ac084eb8aea3364cd">SEC_TYPE_PLTOFF</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae3b05fb766daef420a0ac47d763129f4">SEC_TYPE_HASH</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea7fbd6c5232c7f2f26e591f963e57995a">SEC_TYPE_LSDA</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea7b2513080fff4d6622a5efdb3f6bd535">SEC_TYPE_UNWIND</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eacecf9b4d2b2002bc9fe30c65f075215d">SEC_TYPE_UNWINDINFO</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eabedd7362c860c2d690e99ff20115339e">SEC_TYPE_REGSYM</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eabfdd6ff633a9a5a8bcc71752474efe04">SEC_TYPE_DYNSYM</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae0852da9ff9074ed89cfe220d5273e23">SEC_TYPE_DEBUG</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea924ebfacf6bb87031823762cac6cabfe">SEC_TYPE_BSS</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea037cadbcc66d20ac97098a9a3e618db3">SEC_TYPE_SYMSTR</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eaf983da13d0ec5f8ddee5cfd923fd44ee">SEC_TYPE_DYNSTR</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae9e2e53be189b742db7edbd51aa7aba1">SEC_TYPE_SECSTR</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea0ac946fc7c1f35b815d3b9fcd69fc108">SEC_TYPE_COMMENT</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea9cb3505b9e01cc4705c4e900e1f3e5c1">SEC_TYPE_LOOS</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eac7f4657ed8fe6bf8e53a8d7b320e3959">SEC_TYPE_USER</a>, 
<br />
&#160;&#160;<a class="el" href="group__SEC.html#gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea3ec46bb89ed4147f1085245d9f04350f">SEC_TYPE_PROC</a>, 
<br />
&#160;&#160;<b>SEC_TYPE_LAST</b>
<br />
 }</td></tr>
<tr class="separator:ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac542c5ae233d0c42d2eaf1faacef5a82"><td class="memItemLeft" align="right" valign="top">IMG&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#gac542c5ae233d0c42d2eaf1faacef5a82">SEC_Img</a> (SEC sec)</td></tr>
<tr class="separator:gac542c5ae233d0c42d2eaf1faacef5a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b5419aa605f3d8d2a67bc39273c4702"><td class="memItemLeft" align="right" valign="top">SEC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga1b5419aa605f3d8d2a67bc39273c4702">SEC_Next</a> (SEC sec)</td></tr>
<tr class="separator:ga1b5419aa605f3d8d2a67bc39273c4702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50ae8d91ee870b9904f341f706657588"><td class="memItemLeft" align="right" valign="top">SEC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga50ae8d91ee870b9904f341f706657588">SEC_Prev</a> (SEC sec)</td></tr>
<tr class="separator:ga50ae8d91ee870b9904f341f706657588"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ffd6d6c315bc044167b1ff53262470c"><td class="memItemLeft" align="right" valign="top">SEC&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga3ffd6d6c315bc044167b1ff53262470c">SEC_Invalid</a> ()</td></tr>
<tr class="separator:ga3ffd6d6c315bc044167b1ff53262470c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39bbbb0d30fc82506540d39d2fc1dc1f"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga39bbbb0d30fc82506540d39d2fc1dc1f">SEC_Valid</a> (SEC x)</td></tr>
<tr class="separator:ga39bbbb0d30fc82506540d39d2fc1dc1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83f823574b987c84827acd508b6df53f"><td class="memItemLeft" align="right" valign="top">RTN&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga83f823574b987c84827acd508b6df53f">SEC_RtnHead</a> (SEC sec)</td></tr>
<tr class="separator:ga83f823574b987c84827acd508b6df53f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffa1bb4f87ad3b6e7263a9f4b3c0ab30"><td class="memItemLeft" align="right" valign="top">RTN&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#gaffa1bb4f87ad3b6e7263a9f4b3c0ab30">SEC_RtnTail</a> (SEC sec)</td></tr>
<tr class="separator:gaffa1bb4f87ad3b6e7263a9f4b3c0ab30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9f957818ba035d1d365ea95e7875bb0"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#gac9f957818ba035d1d365ea95e7875bb0">SEC_Name</a> (SEC sec)</td></tr>
<tr class="separator:gac9f957818ba035d1d365ea95e7875bb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae44a85e614a3b05a950ac81e3c6cc7c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__SEC.html#ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e">SEC_TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#gae44a85e614a3b05a950ac81e3c6cc7c4">SEC_Type</a> (SEC sec)</td></tr>
<tr class="separator:gae44a85e614a3b05a950ac81e3c6cc7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73822e20bc73df6d74f0f31e50db26a4"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga73822e20bc73df6d74f0f31e50db26a4">SEC_Mapped</a> (SEC sec)</td></tr>
<tr class="separator:ga73822e20bc73df6d74f0f31e50db26a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga126f11c6a7c886168fc517e60d053545"><td class="memItemLeft" align="right" valign="top">const VOID *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga126f11c6a7c886168fc517e60d053545">SEC_Data</a> (SEC sec)</td></tr>
<tr class="separator:ga126f11c6a7c886168fc517e60d053545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22539f22877029495af9b7bcc2bed05d"><td class="memItemLeft" align="right" valign="top">ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga22539f22877029495af9b7bcc2bed05d">SEC_Address</a> (SEC sec)</td></tr>
<tr class="separator:ga22539f22877029495af9b7bcc2bed05d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7250812be76096d1f7164ab0d863896c"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#ga7250812be76096d1f7164ab0d863896c">SEC_IsReadable</a> (SEC sec)</td></tr>
<tr class="separator:ga7250812be76096d1f7164ab0d863896c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac00ebe99a13ad14af6a9309c1beb3311"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#gac00ebe99a13ad14af6a9309c1beb3311">SEC_IsWriteable</a> (SEC sec)</td></tr>
<tr class="separator:gac00ebe99a13ad14af6a9309c1beb3311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac203291f24113eaa74ab022c1a8d1b80"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#gac203291f24113eaa74ab022c1a8d1b80">SEC_IsExecutable</a> (SEC sec)</td></tr>
<tr class="separator:gac203291f24113eaa74ab022c1a8d1b80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2b76e650b100d4dfd2003893a8b3774"><td class="memItemLeft" align="right" valign="top">USIZE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SEC.html#gaf2b76e650b100d4dfd2003893a8b3774">SEC_Size</a> (SEC sec)</td></tr>
<tr class="separator:gaf2b76e650b100d4dfd2003893a8b3774"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>A SEC is modeled after the sections found inside elf images. Can be accessed at instrumentation time and analysis time.</p>
<p>SECs can be mapped or unmapped, a mapped SEC occupies address space inside the IMG. Unmapped SECs often contain debug and relocation information.<br  />
APIs from this group are available in any thread, including any internal thread spawned by the tool.</p>
<p>Iteration idioms:</p>
<div class="fragment"><div class="line"><span class="comment">// Forward pass over all sections in an image</span></div>
<div class="line"><span class="keywordflow">for</span>( SEC sec= <a class="code" href="group__IMG.html#ga2f97057faee2f7ed7e23b88b339f62f8">IMG_SecHead</a>(img); <a class="code" href="group__SEC.html#ga39bbbb0d30fc82506540d39d2fc1dc1f">SEC_Valid</a>(sec); sec = <a class="code" href="group__SEC.html#ga1b5419aa605f3d8d2a67bc39273c4702">SEC_Next</a>(sec) )</div>
<div class="line"> </div>
<div class="line"><span class="comment">// Reverse pass over all sections in animage</span></div>
<div class="line"><span class="keywordflow">for</span>( SEC sec= <a class="code" href="group__IMG.html#gad01a20a588a5110b1bb1361eb60eb166">IMG_SecTail</a>(img); <a class="code" href="group__SEC.html#ga39bbbb0d30fc82506540d39d2fc1dc1f">SEC_Valid</a>(sec); sec = <a class="code" href="group__SEC.html#ga50ae8d91ee870b9904f341f706657588">SEC_Prev</a>(sec) )</div>
</div><!-- fragment --><dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux &amp; Windows<br  />
<b>CPU:</b> All<br  />
</dd></dl>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e">&#9670;&nbsp;</a></span>SEC_TYPE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__SEC.html#ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e">SEC_TYPE</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This file contains <a class="el" href="group__SEC.html">SEC: Section Object</a> and Mapping primitives</p>
<p>SEC types </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eac7b401ad28292a5bf7728af5c827d78d"></a>SEC_TYPE_REGREL&#160;</td><td class="fielddoc"><p>relocations </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea47a996e48703561a7c9a5d6eb0b7ec20"></a>SEC_TYPE_DYNREL&#160;</td><td class="fielddoc"><p>dynamic relocations </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae553adef7efca3121cb283c919b2eab3"></a>SEC_TYPE_EXEC&#160;</td><td class="fielddoc"><p>contains code </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae7cac3976003e7709bf90c1e5e8a250e"></a>SEC_TYPE_DATA&#160;</td><td class="fielddoc"><p>contains initialized data </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eabcae1ce13af94497e106ef7978f57163"></a>SEC_TYPE_DYNAMIC&#160;</td><td class="fielddoc"><p>Dynamic linking information (.dynamic) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eab68fd502b63888dd7b8668a0f6609405"></a>SEC_TYPE_OPD&#160;</td><td class="fielddoc"><p>contains the official procedure descriptors. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea58ee2e8fec4ecbe67bbafe334f5c389b"></a>SEC_TYPE_GOT&#160;</td><td class="fielddoc"><p>Global offset table. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eaf1970987650dc6078cf78cc41057c9f5"></a>SEC_TYPE_STACK&#160;</td><td class="fielddoc"><p>Stack segment. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea5f15f77c471eb84ac084eb8aea3364cd"></a>SEC_TYPE_PLTOFF&#160;</td><td class="fielddoc"><p>The procedure linking table. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae3b05fb766daef420a0ac47d763129f4"></a>SEC_TYPE_HASH&#160;</td><td class="fielddoc"><p>A symbol hash table. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea7fbd6c5232c7f2f26e591f963e57995a"></a>SEC_TYPE_LSDA&#160;</td><td class="fielddoc"><p>old exception_info (obsolete) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea7b2513080fff4d6622a5efdb3f6bd535"></a>SEC_TYPE_UNWIND&#160;</td><td class="fielddoc"><p>Stack unwind information. (exception handling) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eacecf9b4d2b2002bc9fe30c65f075215d"></a>SEC_TYPE_UNWINDINFO&#160;</td><td class="fielddoc"><p>Stack unwind information. (exception handling) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eabedd7362c860c2d690e99ff20115339e"></a>SEC_TYPE_REGSYM&#160;</td><td class="fielddoc"><p>Static symbol table (.symtab) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eabfdd6ff633a9a5a8bcc71752474efe04"></a>SEC_TYPE_DYNSYM&#160;</td><td class="fielddoc"><p>Dynamic linking symbol table. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae0852da9ff9074ed89cfe220d5273e23"></a>SEC_TYPE_DEBUG&#160;</td><td class="fielddoc"><p>Contains debugging information. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea924ebfacf6bb87031823762cac6cabfe"></a>SEC_TYPE_BSS&#160;</td><td class="fielddoc"><p>contains uninitialized data </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea037cadbcc66d20ac97098a9a3e618db3"></a>SEC_TYPE_SYMSTR&#160;</td><td class="fielddoc"><p>String table section (.strtab) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eaf983da13d0ec5f8ddee5cfd923fd44ee"></a>SEC_TYPE_DYNSTR&#160;</td><td class="fielddoc"><p>Dynamic linking string table (.dynstr) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eae9e2e53be189b742db7edbd51aa7aba1"></a>SEC_TYPE_SECSTR&#160;</td><td class="fielddoc"><p>Section header string table. (.shstrtab) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea0ac946fc7c1f35b815d3b9fcd69fc108"></a>SEC_TYPE_COMMENT&#160;</td><td class="fielddoc"><p>contains version control information. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea9cb3505b9e01cc4705c4e900e1f3e5c1"></a>SEC_TYPE_LOOS&#160;</td><td class="fielddoc"><p>OS specific. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542eac7f4657ed8fe6bf8e53a8d7b320e3959"></a>SEC_TYPE_USER&#160;</td><td class="fielddoc"><p>Application specific. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga7fc7b3d12ebe2f3b13fe0bf7e3b1542ea3ec46bb89ed4147f1085245d9f04350f"></a>SEC_TYPE_PROC&#160;</td><td class="fielddoc"><p>Processor specific. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga22539f22877029495af9b7bcc2bed05d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga22539f22877029495af9b7bcc2bed05d">&#9670;&nbsp;</a></span>SEC_Address()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRINT SEC_Address </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Address in memory of sec</dd></dl>
<p>If image is loaded by system loader, the real virtual address of section will be returned. If the image is mapped by <a class="el" href="group__IMG.html#ga0a2ed1c58e7215da29194d1800ceee86">IMG_Open()</a> the address will be inside the mapped image. On Unix, if the section is not loadable, 0 will be returned in the both cases. </p>

</div>
</div>
<a id="ga126f11c6a7c886168fc517e60d053545"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga126f11c6a7c886168fc517e60d053545">&#9670;&nbsp;</a></span>SEC_Data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const VOID* SEC_Data </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Return a pointer to the raw data for the section</dd></dl>
<p>On Linux, Pin maps the whole image file for processing. The pointer returned by <a class="el" href="group__SEC.html#ga126f11c6a7c886168fc517e60d053545">SEC_Data()</a> points inside the mapped file. Note, <a class="el" href="group__SEC.html#ga126f11c6a7c886168fc517e60d053545">SEC_Data()</a> pointer is always between <a class="el" href="group__IMG.html#gae2299d042776b36435d4240a0363c28a">IMG_StartAddress()</a> and <a class="el" href="group__IMG.html#gae2299d042776b36435d4240a0363c28a">IMG_StartAddress()</a> + <a class="el" href="group__IMG.html#ga76799de259e3c3b0873a9d4c81745e1c">IMG_SizeMapped()</a>. If you are analyzing image in image-load callback, please remember that the image will be unmapped after the callback returns and the pointer provided by <a class="el" href="group__SEC.html#ga126f11c6a7c886168fc517e60d053545">SEC_Data()</a> becomes invalid. If you are working with <a class="el" href="group__IMG.html#ga0a2ed1c58e7215da29194d1800ceee86">IMG_Open()</a> the pointer is valid until <a class="el" href="group__IMG.html#ga93a7a90e8bba62212028ed33bbfe83b2">IMG_Close()</a>.</p>
<p>If section does not have raw data the function returns 0.</p>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gac542c5ae233d0c42d2eaf1faacef5a82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac542c5ae233d0c42d2eaf1faacef5a82">&#9670;&nbsp;</a></span>SEC_Img()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IMG SEC_Img </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Image that contains this section</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga3ffd6d6c315bc044167b1ff53262470c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3ffd6d6c315bc044167b1ff53262470c">&#9670;&nbsp;</a></span>SEC_Invalid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SEC SEC_Invalid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Invalid section value</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gac203291f24113eaa74ab022c1a8d1b80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac203291f24113eaa74ab022c1a8d1b80">&#9670;&nbsp;</a></span>SEC_IsExecutable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SEC_IsExecutable </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if section is executable </dd></dl>

</div>
</div>
<a id="ga7250812be76096d1f7164ab0d863896c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7250812be76096d1f7164ab0d863896c">&#9670;&nbsp;</a></span>SEC_IsReadable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SEC_IsReadable </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if section is readable </dd></dl>

</div>
</div>
<a id="gac00ebe99a13ad14af6a9309c1beb3311"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac00ebe99a13ad14af6a9309c1beb3311">&#9670;&nbsp;</a></span>SEC_IsWriteable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SEC_IsWriteable </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>TRUE if section is writable </dd></dl>

</div>
</div>
<a id="ga73822e20bc73df6d74f0f31e50db26a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga73822e20bc73df6d74f0f31e50db26a4">&#9670;&nbsp;</a></span>SEC_Mapped()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SEC_Mapped </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if section is mapped in memory, unmapped section contain data not needed at run time, like debug information</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gac9f957818ba035d1d365ea95e7875bb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac9f957818ba035d1d365ea95e7875bb0">&#9670;&nbsp;</a></span>SEC_Name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; SEC_Name </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Section name</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga1b5419aa605f3d8d2a67bc39273c4702"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b5419aa605f3d8d2a67bc39273c4702">&#9670;&nbsp;</a></span>SEC_Next()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SEC SEC_Next </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Section that follows x, or <a class="el" href="group__SEC.html#ga3ffd6d6c315bc044167b1ff53262470c">SEC_Invalid()</a> is x is last section in the image</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga50ae8d91ee870b9904f341f706657588"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga50ae8d91ee870b9904f341f706657588">&#9670;&nbsp;</a></span>SEC_Prev()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SEC SEC_Prev </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Previous section of x, or <a class="el" href="group__SEC.html#ga3ffd6d6c315bc044167b1ff53262470c">SEC_Invalid()</a> if x is the first in the image</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga83f823574b987c84827acd508b6df53f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga83f823574b987c84827acd508b6df53f">&#9670;&nbsp;</a></span>SEC_RtnHead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RTN SEC_RtnHead </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>First RTN of x, or <a class="el" href="group__RTN.html#ga2e23300e596b670a387ad7b3ed9c8d59">RTN_Invalid()</a> if no RTNs</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gaffa1bb4f87ad3b6e7263a9f4b3c0ab30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaffa1bb4f87ad3b6e7263a9f4b3c0ab30">&#9670;&nbsp;</a></span>SEC_RtnTail()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RTN SEC_RtnTail </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Last RTN of x, or <a class="el" href="group__RTN.html#ga2e23300e596b670a387ad7b3ed9c8d59">RTN_Invalid()</a> if no RTNs</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gaf2b76e650b100d4dfd2003893a8b3774"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf2b76e650b100d4dfd2003893a8b3774">&#9670;&nbsp;</a></span>SEC_Size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">USIZE SEC_Size </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Size of section </dd></dl>

</div>
</div>
<a id="gae44a85e614a3b05a950ac81e3c6cc7c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae44a85e614a3b05a950ac81e3c6cc7c4">&#9670;&nbsp;</a></span>SEC_Type()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__SEC.html#ga7fc7b3d12ebe2f3b13fe0bf7e3b1542e">SEC_TYPE</a> SEC_Type </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Section type</dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="ga39bbbb0d30fc82506540d39d2fc1dc1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga39bbbb0d30fc82506540d39d2fc1dc1f">&#9670;&nbsp;</a></span>SEC_Valid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SEC_Valid </td>
          <td>(</td>
          <td class="paramtype">SEC&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if x is not <a class="el" href="group__SEC.html#ga3ffd6d6c315bc044167b1ff53262470c">SEC_Invalid()</a></dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux, Windows &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__SEC_html_ga1b5419aa605f3d8d2a67bc39273c4702"><div class="ttname"><a href="group__SEC.html#ga1b5419aa605f3d8d2a67bc39273c4702">SEC_Next</a></div><div class="ttdeci">SEC SEC_Next(SEC sec)</div></div>
<div class="ttc" id="agroup__SEC_html_ga50ae8d91ee870b9904f341f706657588"><div class="ttname"><a href="group__SEC.html#ga50ae8d91ee870b9904f341f706657588">SEC_Prev</a></div><div class="ttdeci">SEC SEC_Prev(SEC sec)</div></div>
<div class="ttc" id="agroup__IMG_html_gad01a20a588a5110b1bb1361eb60eb166"><div class="ttname"><a href="group__IMG.html#gad01a20a588a5110b1bb1361eb60eb166">IMG_SecTail</a></div><div class="ttdeci">SEC IMG_SecTail(IMG img)</div></div>
<div class="ttc" id="agroup__SEC_html_ga39bbbb0d30fc82506540d39d2fc1dc1f"><div class="ttname"><a href="group__SEC.html#ga39bbbb0d30fc82506540d39d2fc1dc1f">SEC_Valid</a></div><div class="ttdeci">BOOL SEC_Valid(SEC x)</div></div>
<div class="ttc" id="agroup__IMG_html_ga2f97057faee2f7ed7e23b88b339f62f8"><div class="ttname"><a href="group__IMG.html#ga2f97057faee2f7ed7e23b88b339f62f8">IMG_SecHead</a></div><div class="ttdeci">SEC IMG_SecHead(IMG img)</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
